<?php

class Application_Form_MaisBoloes extends Zend_Form
{
    private $_campeonatoSeletor;
    private $_campeonatoMapper;

    public function __construct(Application_Model_CampeonatoMapper $campeonato, $options = null)
    {
        $this->_campeonatoMapper = $campeonato;

        parent::__construct($options);
    }


    //Init:
    public function init()
    {
        $this->setMethod('post');
        
        if($this->adicionaCampeonato() == false)
            echo 'Não existe campeonatos cadastrados no sistema. Adicione campeonatos.';

    }



    //Adiciona um seletor de campeonatos ao form:
    private function adicionaCampeonato()
    {
        if (isset($this->_campeonatoSeletor)) {
            return;
        }

        $this->_campeonatoSeletor = new Zend_Form_Element_Select('campeonato',
                                    array('onChange' => 'submit()',));

        $this->_campeonatoSeletor->setLabel('Campeonato')->addMultioption(null, 'Todos');



        $listaDeCampeonatos = $this->_campeonatoMapper->fetchAll();

        //se existe algum campeonato:
        if(count($listaDeCampeonatos) != 0){

            foreach ($listaDeCampeonatos as $camp) {
                $nome = $camp->getNome();
                //retorna o segundo argumento para o seletor visível ao usuário
                //e o primeiro argumento retorna para o controller.
                $this->_campeonatoSeletor->addMultiOption($nome, $nome);
                $this->addElement($this->_campeonatoSeletor);
            }
            return true;
        } else {
            //não existe campeonatos cadastrados:
            return false;
        }

    }//fim adicionaCampeonato

    public function setValor($campeonato) {

        $this->_campeonatoSeletor->setValue($campeonato);
    }
}

